#include "../src/NetworkServer.hpp"
#include <signal.h>
#include <unistd.h>
#include <spdlog/spdlog.h>
#include <iostream>

#define MACRO_CREATE_STR(val) Call_##val
#define MACRO_TO_STR(val) #val

#define NETWORK_FUNC_CREATER(func,ret) \
  network.func=[](...){ \
    std::cout<<MACRO_TO_STR(MACRO_CREATE_STR(func))<<std::endl; \
    return ret; \
  };

int main()
{
  NetworkServer network;

  NETWORK_FUNC_CREATER(funcCreateTask,10);
  NETWORK_FUNC_CREATER(funcStopRecord,);
  NETWORK_FUNC_CREATER(funcGetRecordStatus,std::make_tuple<>(true,10));
  NETWORK_FUNC_CREATER(funcStartRecord,);
  NETWORK_FUNC_CREATER(funcCheckStuExists,true);
  NETWORK_FUNC_CREATER(funcGetStudentInf,"test");
  network.Boot();

  while(sleep(10)==0)
    ;
}
